package pe.com.bbva.modpre.job;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.util.ArrayList;
import java.util.List;

import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.context.support.SpringBeanAutowiringSupport;

import pe.com.bbva.modpre.dominio.ClienteGeneral;
import pe.com.bbva.modpre.dominio.Parametro;
import pe.com.bbva.modpre.dominio.Regla;
import pe.com.bbva.modpre.dominio.Valor;
import pe.com.bbva.modpre.negocio.ConfiguracionService;
import pe.com.bbva.modpre.persistencia.ClienteGeneralDAO;
import pe.com.bbva.modpre.persistencia.ParametroDAO;


public class PruebaJob extends SpringBeanAutowiringSupport implements Job{
	
	@Autowired
	ConfiguracionService configuracionService;
	
	@Autowired
	ParametroDAO parametroDAO;
	@Autowired
	ClienteGeneralDAO clienteGeneralDAO;
	
	@Override
	public void execute(JobExecutionContext context)		throws JobExecutionException {
		System.out.println("Ejecutnado JOB de prueba!!!!!!!!!!!!!!!!");
		Parametro url=parametroDAO.obtenerParametroxCodigo(Parametro.CODIGO.URL_DESCARGA_MASIVA);//poner ruta de archivo
		List<ClienteGeneral> listaClientes = new ArrayList<ClienteGeneral>();
		listaClientes =clienteGeneralDAO.obtenerTodos();
		File file = null;
	    BufferedWriter writer = null;
	    try {
	    	file = new File (url.getValor());
	    	
	        writer = new BufferedWriter(new FileWriter(file));
	        for (ClienteGeneral cliente : listaClientes) {
		        	writer.write(""+cliente.getCodigoCentral()+"|");
		        	/*
		        	 .
		        	 .
		        	 .
		        	 
		        	 */
		        	writer.write(""+cliente.getVinculacionCliente()+"\n");
			}
	    }
	    catch(Exception e){
//	    	resolverException(e, null);
	    	System.err.println("Exception: " + e.getMessage());
	    }finally{
	    	try{                    
	    		writer.close(); 
	    		                  
	    	}catch (Exception e){ 
//	    		resolverException(e, null);
	    		System.err.println("Exception: " + e.getMessage());
	    	}
	    }
	}

}
